# !/usr/bin/python
# -*- coding: utf-8 -*-
'''
@File    :   10_selectsort.py
@Time    :   2021/04/01 17:31:58
@Author  :   Qingxiang Zhang
@Version :   1.0
@Contact :   344285081@qq.com
@Desc    :   选择排序算法
@Software:    Vscode
'''
'''
先选择一个最小的，与第一个交换，
再在后面选择一个最小的，与第二个位置交换

最优时间复杂度：O(n^2)
最坏时间复杂度： O(n^2)
稳定性： 不稳定的
'''
def select_sort(aList):
    n = len(aList)
    for j in range((n-1)):
        min =aList[j]
        min_index =j
        for i in range(j+1,n):
            if min > aList[i]:
                min = aList[i]
                min_index = i
        aList[j],aList[min_index] = aList[min_index],aList[j]
    return aList
if __name__ =="__main__":
    aList=[1,2,3,5,4,7,8,5]
    print(select_sort(aList))
    aList =[9,12,34,5,6,78]
    print(select_sort(aList))


    